package com.mindskip.xzs.viewmodel.admin.task;
//这段代码定义了一个名为TaskRequestVM的任务请求视图模型类，用于接收前端传递的任务相关数据.
//在前端：
//1. 用于向后端发送任务相关的请求数据，包含任务ID、年级级别、标题、限时日期时间和试卷列表等信息。
//2. 可以将用户在前端填写的任务信息封装成TaskRequestVM对象，并通过接口发送给后端进行任务的创建或更新操作。
//在后端：
//1. 用于接收前端传递的任务请求数据，包含任务ID、年级级别、标题、限时日期时间和试卷列表等信息。
//2. 在处理任务相关的业务逻辑时，可以通过TaskRequestVM对象获取前端传递的任务信息，进行相应的任务创建、更新或校验操作。
//3. 通过对TaskRequestVM类中定义的校验规则（如@NotNull、@Size等注解）进行校验，确保接收到的任务信息符合要求。
import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 任务请求视图模型
 */
public class TaskRequestVM {

    private Integer id; // 任务ID

    private Integer gradeLevel; // 年级级别

    @NotNull
    private String title; // 标题

    @NotNull
    private List<String> limitDateTime; // 限时日期时间

    @Size(min = 1, message = "请添加试卷")
    @Valid
    private List<ExamResponseVM> paperItems; // 试卷列表

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getGradeLevel() {
        return gradeLevel;
    }

    public void setGradeLevel(Integer gradeLevel) {
        this.gradeLevel = gradeLevel;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public List<ExamResponseVM> getPaperItems() {
        return paperItems;
    }

    public void setPaperItems(List<ExamResponseVM> paperItems) {
        this.paperItems = paperItems;
    }

    public List<String> getLimitDateTime() {
        return limitDateTime;
    }

    public void setLimitDateTime(List<String> limitDateTime) {
        this.limitDateTime = limitDateTime;
    }
}
